package it.unisalento.appsalento.activity.fragment;

import it.unisalento.R;
import it.unisalento.appsalento.activity.App;
import it.unisalento.appsalento.adapter.RisultatiAdapter;
import it.unisalento.appsalento.constants.Constants;
import it.unisalento.appsalento.model.Appello;

import java.util.ArrayList;

import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

public class RisultatiFragment extends Fragment {
	private ArrayList<Appello> risultati = new ArrayList<Appello>();
	private RisultatiAdapter adapter;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		View rootView = inflater.inflate(R.layout.fragment_risultati,
				container, false);

		ListView mListaRisultati = (ListView) rootView
				.findViewById(R.id.list_view_risultati);

		risultati.clear();
		for (Appello appello : App.appelli) {
			if (appello.getStato().equals(Appello.DA_ACCETTARE)
					|| appello.getStato().equals(Appello.RISULTATO_ACCETTATO)
					|| appello.getStato().equals(Appello.RISULTATO_RIFIUTATO)) {
				risultati.add(appello);
			}
		}

		adapter = new RisultatiAdapter(getActivity(), R.layout.row_risultato,
				risultati);
		mListaRisultati.setAdapter(adapter);
		mListaRisultati.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View v,
					int position, long id) {
				final Appello appello = (Appello) parent
						.getItemAtPosition(position);
				
				Intent intent = new Intent(Constants.SHOW_RISULTATO_EVENT);
				intent.putExtra(Constants.APPELLO_ID_NAME, appello.getIdAppello());
				
				LocalBroadcastManager.getInstance(
					getActivity().getApplicationContext()).sendBroadcast(
					intent);
			}

		});

		return rootView;
	}

}
